<canvas id="canvas"></canvas>
<script type="text/javascript">
	var webgl=canvas.getContext("experimental-webgl");
	var program=webgl.createProgram();
	var vs,fs,vs_s,fs_s;
	vs=webgl.createShader(webgl.VERTEX_SHADER);
	fs=webgl.createShader(webgl.FRAGMENT_SHADER);
	vs_s="attribute vec3 p;attribute vec3 co;varying vec3 co_v;void main(){co_v=co;gl_Position=vec4(p,1.0);}";
	fs_s="varying lowp vec3 co_v;void main(){gl_FragColor=vec4(co_v,1.0);}";
	webgl.shaderSource(vs,vs_s);
	webgl.shaderSource(fs,fs_s);
	webgl.compileShader(vs);
	webgl.compileShader(fs);
	webgl.attachShader(program,vs);
	webgl.attachShader(program,fs);
	webgl.linkProgram(program);
	webgl.useProgram(program);
	

	var data=[1,0,0, 0,1,0, 0,0,1, 1,1,1];
	data=new Float32Array(data);
	buf=webgl.createBuffer();
	webgl.bindBuffer(webgl.ARRAY_BUFFER,buf);
	webgl.bufferData(webgl.ARRAY_BUFFER,data,webgl.STATIC_DRAW);
	var co=webgl.getAttribLocation(program,"co");
	webgl.enableVertexAttribArray(co);
	webgl.vertexAttribPointer(co,3,webgl.FLOAT,false,0,0);

	data=[-1,-1,0 ,1,-1,0, 0,1,0, 0,0,0];
	data=new Float32Array(data);
	var buf=webgl.createBuffer();
	webgl.bindBuffer(webgl.ARRAY_BUFFER,buf);
	webgl.bufferData(webgl.ARRAY_BUFFER,data,webgl.STATIC_DRAW);
	var p=webgl.getAttribLocation(program,"p");
	webgl.enableVertexAttribArray(p);
	webgl.vertexAttribPointer(p,3,webgl.FLOAT,false,0,0);

	var index=webgl.createBuffer();
	webgl.bindBuffer(webgl.ELEMENT_ARRAY_BUFFER,index);
	webgl.bufferData(webgl.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,2,3,1,2,3,0,1,3]),webgl.STATIC_DRAW);
	webgl.drawElements(webgl.TRIANGLES,9,webgl.UNSIGNED_SHORT,0);
</script>